
function red() {
    console.log('红');
    
}

function green() {
    console.log('绿');
    
}

function yellow() {
    console.log('黄')
    
}
let light = function (timer,cb){ 
    return new Promise((reslove,reject) => {
        setTimeout(() => {
            cb()
            reslove()
        },timer)
    })
}

// let step =  function () {
//     Promise.resolve()
//     .then(() => {
//         return light(3000,red)
//     })
//     .then(() => {
//         return light(1000,green)
//     })
//     .then(() => {
//         return light(2000,yellow)
//     })
//     .then(() => {
//         step()
//     })
// }

let step = async function(){
    await light(3000,red)
    await light(1000,green)
    await light(2000,yellow)
    step()
}

step()
